perm filename DISPLA[DOC,TOB]1 blob sn#144592 filedate 1975-02-10 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	Hidden Line Elimination by Miyamoto
C00006 ENDMK
CāŠ—;
Hidden Line Elimination by Miyamoto

Algorithm
  Within a part
    Is cross section visible?
      Dot  product of  normal  to cross  section;  input samples  are
      ordered in the sense of a right hand screw. 
    Is each longitudinal plane visible?
      Does not  check  dot product,  but checks  angle  of the  cross
      section edge X with respect to the longitudinal edge L.  If the
      angle X,L ccw is less than pi, the surface is visible. 

		..................................
	       .				. .
	      .				       .   .
	     .				      .     .
	    .				     .	     .
	   .				    .	      .
	  ............ L ...................	       .
	   .				    .         .
	    .				     .       .
	     X				      .     .
	      .				       .   .
	       .				. .
		..................................


     Generate the contour of of part clockwise.

  II Between Parts
    II.A Compare Each Part vs Every Other Part
     Compute the bounding rectangle, (xmin,ymin) (xmax,ymax) for each
     part.  Calculate whether the other can overlap.  If the bounding
     rectangles overlap,  then there is  a possibility  that the  two
     parts overlap.   Determine for each edge on  the contour whether
     there  is an intersection  within the interval of  the line.  If
     so, determine  the nearer  line.   In  some cases,  there is  no
     intersection.   Consider a small object  entirely behind another
     object.  In that case, the apparent intersections of an edge  of
     one object with the contour of the  other (the points on contour
     of  B which  coincide in  projection  with an  edge of  part A).
     Determine which is closer, the edge in A or the line between the
     two apparent intersections in B.   If the object is outside, the
     two  points are on  the same side of  the edge of  A, and can be
     ignored.  The process must be done for both  parts.  In the case
     of  overlap, either kind  of information  will appear.  He  uses
     that which appears earlier. 
    II.B Remove Hidden Portions of Lines
      If the line from  above between crossing points is  closer than
      the contour line, then eliminate the portion of the line within
      the line between apparent crossing points.  Check for all lines
      in this way.  Causes additional segments in lines.